/**
 * v-waterMarker可接收参数，均为非必填
 * { text: 'vue-admin-box', font: '16px Microsoft JhengHei', textColor: '#000' }
 */

const directive = {
    mounted(el, binding){
        binding.value ? binding.value : binding.value = {}
        addWaterMarker(binding.value.text, el, binding.value.font, binding.value.textColor)
    },
}

function addWaterMarker(str, parentNode, font, textColor){
    // 水印文字，父元素，字体，文字颜色
    var can = document.createElement("canvas")
    parentNode.appendChild(can)
    can.width         = 200
    can.height        = 150
    can.style.display = "none"
    var cans          = can.getContext("2d")
    cans.rotate((-20 * Math.PI) / 180)
    cans.font         = font || "16px Microsoft JhengHei"
    cans.fillStyle    = textColor || "rgba(180, 180, 180, 0.3)"
    cans.textAlign    = "left"
    cans.textBaseline = "middle"
    cans.fillText(str || "vue-admin-box", can.width / 10, can.height / 2)
    parentNode.style.backgroundImage = "url(" + can.toDataURL("image/png") + ")"
}

export default directive
